home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / c / objam01.lha / objam / objbas / String.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-14  |  1.1 KB  |  62 lines

  1. /*
  2. ** ObjectiveAmiga: Interface to class String
  3. ** See GNU:lib/libobjam/ReadMe for details
  4. */
  5.  
  6.  
  7. #import <objc/Object.h>
  8.  
  9.  
  10. @interface String: Object
  11. {
  12.   unsigned length;
  13.   char *string;
  14. }
  15.  
  16. + str:(const char *)aStr;
  17.  
  18. - free;
  19. - (const char *)str;
  20. - str:(const char *)aStr;
  21. - (int)asInt;
  22. - (long)asLong;
  23. - read:(TypedStream*)stream;
  24. - write:(TypedStream*)stream;
  25.  
  26. @end
  27.  
  28.  
  29. /* Unimplemented:
  30.  
  31. + sprintf:(STR)fmt, STR firstArg...;
  32.  
  33. - (BOOL)isEqual:anObject;
  34. - (BOOL)isEqualSTR:(STR)aStr;
  35. - (char)charAt:(unsigned)anOffset put:(char)aChar;
  36. - (char)charAt:(unsigned)anOffset;
  37. - (double)asFloat;
  38. - (int)compare:anObject;
  39. - (int)compareSTR:(STR)aStr;
  40. - (unsigned)hash;
  41. - concat:anObject;
  42. - concatSTR:(STR)aStr;
  43. - sort
  44. - (STR)strcat:(STR)aBuf;
  45.  
  46. */
  47.  
  48.  
  49. // String support functions:
  50. //
  51. // These are similar to their ANSI equivalents, but support
  52. // nil pointers.
  53.  
  54. static unsigned slen(char *a);
  55. static char *scopy(char *a, char *b);
  56. static char *sncopy(char *a, char *b, unsigned n);
  57. static char *scat(char *a, char *b);
  58. static char *sncat(char *a, unsigned n, char *b, unsigned m);
  59. static int scmp(char *a, char *b);
  60. static void slower(char *a);
  61. static void supper(char *a);
  62.